专利摘要:
ポートマルチプライヤを拡張するための方法、装置およびシステムが提供される。1つの実施形態において、1つのポートマルチプライヤは、ネットワークホストを複数のポートマルチプライヤに連結するように構成される。この1つのポートマルチプライヤは、複数のポートマルチプライヤの各々との通信を確立、維持して、ネットワークホストと通信する最上位ポートマルチプライヤを含み、複数のポートマルチプライヤは中間ポートマルチプライヤおよび/または最下位ポートマルチプライヤを有する。さらに、ネットワークデバイスは複数のポートマルチプライヤ、1つのポートマルチプライヤおよびネットワークホストと通信する。
公开号:JP2011515748A
申请号:JP2010550878
申请日:2009-03-12
公开日:2011-05-19
发明作者:リチャード;ジェイ ウィルコックス;キュタエ オウ;ウンジョー ファン;コンラッド マクスウェル
申请人:シリコン イメージ,インコーポレイテッド;
IPC主号:G06F13-00
专利说明:

[0001] 本発明の実施形態は一般にネットワークの分野に関し、より詳しくは、ポートマルチプライヤを拡張するための方法、装置およびシステムに関する。]
背景技術

[0002] ネットワークにおいては、複数の個人的電子メディアデバイスを相互接続してもよい。データを共有し、利便性を増大させ、個々の要素をより十分に活用するために、各種のメディアデバイスを相互にネットワーク接続してもよい。しかしながら、従来のメカニズムでは、ユーザはさまざまな要素や構成要素、たとえばポートマルチプライヤの持ちうる恩恵を享受できず、これは、このようなポートマルチプライヤの高度な機能や動作が制限されているからである。たとえば、従来のメカニズムではポートマルチプライヤをカスケード方式で接続することができないため、標準的ポートマルチプライヤに接続できるデバイスは1段階しかない。図1に示される従来のメカニズムにおいて、ポートマルチプライヤ104をカスケード方式で接続できないため、ポートマルチプライヤ104には、1段階116のデバイス106、108のみが、ポートマルチプライヤ104の2つのデバイスポート112、114を介して接続できる。ポートマルチプライヤ104は、ホストポート110を介してホスト102に接続される。言い換えれば、図に示すような先行技術による方式では、ポートマルチプライヤ104を、このポートマルチプライヤ104に連結可能なもっと多くのデバイスにカスケード方式で接続することができない。1:2ポートマルチプライヤ104は、最大で2つのデバイス106、108という1段階116に限定され、その結果、ポートマルチプライヤ104およびポートマルチプライヤ104を利用した図のネットワーク100の高度な機能やいくつもの利点が制限されてしまう。] 図1
[0003] 図1のポートマルチプライヤ104は、Serial Advanced Technology Attachment(「SATA」または「Serial ATA」)ポートマルチプライヤ、すなわちSATA−IO規格適合ポートマルチプライヤを備えていてもよい。SATA1.0仕様書とその後のSATAIIポートマルチプライヤ仕様書は、www.serialata.orgで入手できる。Serial ATA International Organization: Serial ATA Revision 2.5, 27 October 2005(www.serialata.orgで入手可能)は、それ以前のSATA仕様書の改訂版であり、たとえば第16章にSATAポートマルチプライヤに関する情報が記載されている。結局のところ、カスケード接続が不可能であるために、ハイエンドの機能や利点を提供できる、使いやすく、低コストのポートマルチプライヤを、消費者は手に入れることができない。] 図1
発明が解決しようとする課題

[0004] ポートマルチプライヤを拡張する方法、装置およびシステムが提供される。]
課題を解決するための手段

[0005] 1つの実施形態において、装置は、ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤを備える。この1つのポートマルチプライヤには、複数のポートマルチプライヤの各々との通信を確立、維持し、ネットワークホストと通信する最上位ポートマルチプライヤが含まれ、複数のポートマルチプライヤは、複数の中間ポートマルチプライヤおよび/または最下位ポートマルチプライヤを有する。さらに、ネットワークデバイスは複数のポートマルチプライヤ、1つのポートマルチプライヤおよびネットワークホストと通信する。]
[0006] 1つの実施形態において、システムは、ネットワークホストを複数のネットワークデバイスに連結するように構成されたポート数拡張ネットワークを含む。ポート数拡張ネットワークには、ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤが含まれる。この1つのポートマルチプライヤには、複数のポートマルチプライヤの各々との通信を確立、維持し、ネットワークホストと通信する最上位ポートマルチプライヤが含まれ、複数のポートマルチプライヤは、1つまたは複数の中間ポートマルチプライヤと最下位ポートマルチプライヤを有し、複数のネットワークデバイスは、複数のポートマルチプライヤと通信し、さらに、ポートマルチプライヤとネットワークホストとも通信する。]
[0007] 1つの実施形態において、方法は、ネットワークホストを、1つのポートマルチプライヤを介して複数のマルチプライヤに連結するステップを含む。この1つのポートマルチプライヤには、複数のポートマルチプライヤの各々との通信を確立、維持し、ネットワークホストと通信する最上位ポートマルチプライヤが含まれ、複数のポートマルチプライヤは、1つまたは複数の中間ポートマルチプライヤと最下位ポートマルチプライヤを有する。この方法はまた、複数のネットワークデバイスと複数のポートマルチプライヤ、1つのポートマルチプライヤおよびネットワークホストの間の通信を確立するステップを含む。]
[0008] 本発明の実施形態を限定のためではなく、例として添付の図面に示すが、図中、同様の要素には同様の参照番号が付与されている。]
図面の簡単な説明

[0009] ポートマルチプライヤを利用する従来のメカニズムを示す図である。
ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。
ポートマルチプライヤ拡張メカニズムのある実施形態を示す図である。
ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。
ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。
ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。
ポートマルチプライヤのある実施形態を示す図である。
ポートマルチプライヤの拡張を実行する工程のある実施形態を示す図である。
電源投入後のルートマップレジスタをセトルする工程のある実施形態を示す図である。
ポートマルチプライヤ拡張メカニズムと、ルートマップレジスタをセトルするためのメカニズムを利用するネットワークのある実施形態を示す図である。
ポートマルチプライヤ用のルートマップレジスタのある実施形態を示す図である。
あるデバイスのためのデバイスポートに関するルートマップレジスタのある実施形態を示す図である。
ルートマップレジスタをセトルするトランザクションシーケンスのある実施形態を示す図である。]
実施例

[0010] 本発明の実施形態は一般に、ポートマルチプライヤの拡張に関する。]
[0011] 本明細書において、「ネットワーク」または「通信ネットワーク」とは、デバイス間でデジタルメディアコンテンツ(音楽、音声/映像、ゲーム、写真、その他)を供給するための相互接続ネットワークを意味する。ポートマルチプライヤを用いるネットワークは、たとえば、主としてSATAデータ、Frame Information Structure(FIS)データ等を、1つまたは複数のポートマルチプライヤを介して供給するために使用されるが、供給されるSATAやFISデータは、デジタルメディアの形態を含んでいてもよい。エンタテイメントネットワークとは、家庭内のネットワークのような個人的エンタテインメントネットワーク、ビジネス用ネットワーク、あるいはその他のデバイスおよび/または構成要素のネットワークであってもよい。1つのネットワークにおいて、特定のネットワークデバイスはメディアコンテンツのソースであってもよく、これらはたとえば、デジタルテレビチューナ、ケーブルセットトップボックス、映像記憶サーバ、およびその他のソースデバイスである。その他のデバイスはメディアコンテンツを表示または使用するものであってもよく、これらはたとえば、デジタルテレビ、ホームシアタシステム、オーディオシステム、ゲームシステム等である。さらに、あるデバイスは、メディアコンテンツの保存または転送用の、たとえば映像および音声記憶サーバであってもよい。あるデバイスは、複数のメディア機能を実行してもよい。いくつかの実施形態において、ネットワークデバイスは、1つのローカルエリアネットワーク上に共同設置されてもよい。他の実施形態において、ネットワークデバイスは、複数のローカルエリアネットワーク間のトンネリング等により、複数のネットワークセグメントにわたっていてもよい。エンタテイメントネットワークはまた、複数のデータ符号化および暗号化工程を含んでいてもよい。]
[0012] 以降の図面および本明細書を通じて、1:15という比率は、実際には2ポートのポートマルチプライヤ(たとえば、標準的SATAポートマルチプライヤ1:2)であるメインまたは最上位ポートマルチプライヤを介してネットワークホスト(たとえば、標準的SATAホスト)に連結することのできる段階の数(たとえば、ネットワークデバイスとポートマルチプライヤの数)の最大数の一例として使用されているにすぎない点に注意されたい。言い換えれば、1つの実施形態において、標準的な1:2ポートマルチプライヤは、カスケード接続されて、いくつのデバイスでも(たとえば、15台のデバイスと15のポートマルチプライヤ)受け入れられるようになることによって拡張1:15ポートマルチプライヤとして機能し、その一方で、ネットワークホストは欺かれて、標準的1:2ポートマルチプライヤを、(物理的には2つのポートしかないが)15のポートを有する拡張1:15ポートマルチプライヤと認識し、そのように扱う。]
[0013] この技術を利用して、たとえば、ポートマルチプライヤの1つのポートを、ネットワークデバイス(たとえば、ディスクドライブ)を接続するための通常のデバイスポートとして使用し、第二のポートを、また別の標準的1:2ポートマルチプライヤを受けるための拡張ポートとして使用して、拡張1:15ポートマルチプライヤとして機能するようにし、これを次々に繰り返す。1つのポートマルチプライヤの両方のポートを拡張ポートとして使用することも想定でき、その場合はこのポートマルチプライヤに2つの別のポートマルチプライヤを接続できる。反対に、カスケード接続連鎖の中の複数のポートマルチプライヤのいずれかの2つのポートを標準的なデバイスポートとして使用して、最大2つのネットワークデバイスを受け入れるようにすることもでき、これは特に、カスケード接続を終了させたい場合に使用できる。いくつかの実施形態において、1つのポートマルチプライヤを拡張して、多数のポートを有するように機能させることや、ポートの数を15に限定せず、ホストを欺いて、そのポートマルチプライヤが前記の数のポートを有すると認識させることも想定される。本明細書においては、最上位のポートマルチプライヤのカスケード接続段階の最大数、または、最上位ポートマルチプライヤとのカスケード接続可能なデバイスおよび追加のポートマルチプライヤの数を15と記しているが、最大で15段階または15個のポートマルチプライヤまたは15台のデバイス(たとえば、拡張1:15ポートマルチプライヤ)というのは、簡潔性と明瞭性を期す上での例として使用したにすぎず、最大数はいくつでもよく(たとえば、SATAプロトコルについての最大数は15)、最小数は0でもよいと想定される。]
[0014] ポートマルチプライヤとは、そのポートを複数のデバイス(たとえば、ハードドライバ)と通信できるようにするシリコンベースのデバイスを指す。ポートには、Serial ATAポートがある。ポートマルチプライヤは、エンクロージャのバックプレーンまたはマザーボードの上に設置してよく、またSATAドライブ等のデバイスに対して透過的であってもよい。1つの実施形態において、ポートマルチプライヤにより、1つの動作中のホストがデバイスと通信できるような比較的単純なメカニズムである記憶システムに対して、費用対効果の高い方法でドライブ数を増大できる拡張性を持たせることが可能である。さらに、ポートマルチプライヤにより、パーソナルコンピュータ(PC)またはサーバの内外両方の記憶容量をデバイスによって容易に、高い費用対効果で拡張することができ、記憶容量を拡大するための追加のコントローラは不要となる。追加のコントローラを持たないことによって、外付け記憶装置の性能は、他のUSB(Universal Serial Board)ハードドライブ(たとえば、USB1.1、2.0等)、Firewire(商標)等よりずっと高くなる。SATAホストには、ポートマルチプライヤを介してSATAハードドライブと通信するコンピュータシステムホストが含まれる。]
[0015] 図2は、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するネットワーク200のある実施形態を示す。1つの実施形態において、標準的1:2ポートマルチプライヤ204(たとえば、標準的SATAポートマルチプライヤ)が、ホスト202(たとえばSATAホスト)と、標準通信信号(たとえば、標準的SATA通信信号)を使って通信する形態として使用される。1つの実施形態において、新規なポート拡張プロトコルを使い、標準ポートマルチプライヤ204(最上位ポートマルチプライヤ)を拡張して、拡張1:15ポートマルチプライヤとして機能させる。言い換えれば、ポートマルチプライヤ204は物理的ポートを2つだけ有し、物理的には変更されないが、ポートマルチプライヤ204は論理的に拡張されて、15のポートを有する拡張ポートマルチプライヤとして機能し、複数の段階222、224へとカスケード接続される。1つの実施形態において、ポート拡張プロトコルを用いたポートマルチプライヤ204の拡張に伴い、ホストに、ポートマルチプライヤ204を、(実際には、2つのポートしかないが)15のポートを有すると認識させる。] 図2
[0016] 最上位ポートマルチプライヤ204は、ホスト側のホストポート212とポートマルチプライヤ側のホストポート226を通じてホスト202と連結される。ポートマルチプライヤ204の第一のデバイスポート214は、デバイスポートとして使用されてネットワークデバイス208を接続する。ポートマルチプライヤ204の第二のデバイスポートは拡張ポート218として使用されて、別のポートマルチプライヤ206に、そのホストポート228を通じてカスケード接続される。最上位ポートマルチプライヤ204と同様に、第二のポートマルチプライヤ206も標準的1:2ポートマルチプライヤを含むが、これは拡張されて、その拡張ポート220とデバイスポート216を介してさらにカスケード接続されるように、拡張1:15ポートマルチプライヤのように機能する。第二のデバイス210と、第二のポートマルチプライヤ206に接続された第三のポートマルチプライヤ(図示せず)はカスケード接続の第二の段階224を形成し、第二のポートマルチプライヤ206と第一のデバイス208はカスケード接続の第一の段階222を形成する。1つの実施形態において、このカスケード接続形態は、ポートマルチプライヤ204、206(および図に示されていないその他のポートマルチプライヤ)が物理的ポートを2つしか持たずに、また図の1つのホスト202にホストを一切追加せずに、15段階続けることができる。図3以降の図面には、ポートマルチプライヤ拡張ネットワーク200の多数の現実的な実装例(たとえば、デイジーチェーン方式、ピラミッドまたはハブ方式の実装等)が示されている。] 図3
[0017] 図3は、ポートマルチプライヤ拡張メカニズム300のある実施形態を示す。1つの実施形態において、ポートマルチプライヤ拡張メカニズム300はポートマルチプライヤ拡張モジュール(拡張モジュール)306を利用しており、この拡張モジュール306は、2つの物理的ポート308を有する標準的1:2ポートマルチプライヤ302を、同じ2つの物理的ポート308を有する拡張1:15ポートマルチプライヤ304へと拡張するためのポートマルチプライヤ拡張プロトコル(拡張プロトコル)を有する。しかしながら、拡張1:15ポートマルチプライヤは、いくつかの段階でカスケード接続し、最大15の別のポートマルチプライヤとネットワークデバイスを受け入れることができる。ネットワークデバイスとしては、ATAパケットインタフェース(ATAPI)デバイス、ATAデバイス等がある。] 図3
[0018] 1つの実施形態において、新規な拡張モジュール306の新規な拡張プロトコルには、パワーアップ列挙シーケンスからホットプラグ/ホットアンプラグのサポート、コントロールベースまたはFISベースの供給メカニズムまで、ホストとポートマルチプライヤとネットワークデバイス間の標準的な通信と、該当する場合は拡張された通信の両方を確立するのに必要な要素が含まれる。1つの実施形態において、Just a Bunch of Disks(JBOD)はJBODエンハンスト(JBOD−E)に改変されて、拡張モジュール306の新規な拡張プロトコルを形成し、これを使って、ポートマルチプライヤ302等のポートマルチプライヤが拡張される。コントローラは、各ドライブを独立したディスクとして扱うため、各ドライブは独立した論理ドライブである。JBODには、データ冗長機能がない。さらに、拡張ポートマルチプライヤ304を利用するネットワークとしては、JBOD−EベースまたはJBOD−E対応のネットワークがあり、その一方で、このネットワークの特定の標準的な要素や構成要素はJBOD対応であるが、他のJBOD−E対応の要素や構成要素と一緒に機能できる。JBODとは、Redundant Array of Independent(またはInexpensive)Disk(RAID)にしたがって構成されていないハードディクスを指す。RAIDは、性能と耐故障性を改善するための、ディスクドライブのサブシステムを指す。言い換えれば、RAIDは、性能と耐故障性のために、複数のドライブを組み合わせて利用するディスクドライブの種類である。RAIDは、性能を向上させ、冗長により信頼性を高め、および/または合算によってディスク容量の大きさを拡張することを目的として、2つ以上のハードディスクドライブをさまざまな構成で統合して使用することをサポートする技術を指す。]
[0019] 図4は、ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワーク400のある実施形態を示す。1つの実施形態において、ネットワーク400は、ポートマルチプライヤ404をデイジーチェーン方式にカスケード接続した拡張方法を示している。図の実施形態において、ポートマルチプライヤ404はカスケード接続が可能になるように拡張され、別のポートマルチプライヤ406とデバイス434が追加される。同様に、ポートマルチプライヤ406はまた、カスケード接続可能に拡張され、また別のポートマルチプライヤ408と別のデバイス436が追加される。このようなカスケード接続工程は、ポートマルチプライヤ432とデバイス462が連鎖に追加されるまで繰り返される。ポートマルチプライヤ404からは、図4に示される15台のデバイス434−462より多い、または少ない、何台のデバイスでもカスケード接続によって分岐させることができると想定される。] 図4
[0020] 1つの実施形態において、ポートマルチプライヤ404は、ホスト402に接続される。ホスト402と最上位の拡張ポートマルチプライヤ404の間の通信信号は、標準的SATA信号464とみなされる。しかしながら、最上位の拡張ポートマルチプライヤ404から後の通信信号は、拡張(enhanced)SATA信号466、468とみなされる。言い換えれば、標準的SATA信号464は、最上位の拡張ポートマルチプライヤ404とホスト402の間で維持されて、SATA仕様書と適合し、デバイス402、404の間の標準的な通信を維持する。しかしながら、ホスト402は欺かれて、最上位の拡張ポートマルチプライヤ404を、15のポートを有するものとして認識するようになり、これによって、最上位の拡張ポートマルチプライヤ404はカスケード接続が可能になり、拡張SATA信号466、468を使って、拡張ポートマルチプライヤ406−432とデバイス434−462を追加することができる。]
[0021] 拡張ポートマルチプライヤ404−432の各々はノードとみなされるが、ポートマルチプライヤ404は、SATAホスト402と接続される最上位ポートマルチプライヤとみなされ、最後のデバイス462と接続される最後のポートマルチプライヤ432は、最下位ノードとみなされる。さらに、第三者ポートマルチプライヤ(図示せず)に接続されたポートマルチプライヤもまた最下位ノードとみなされるが、これは、このポートマルチプライヤが最後のJBOD−またはJBOD−EベースのSATAポートマルチプライヤとしてみなされるからである。ただし、三者ポートマルチプライヤがJBOD対応であってもよいことも想定される。さらに、各ノードは、親ノードおよび/または子ノードと考えられる。着目中のノードのホストポートに取り付けられたノードは親とみなされ、着目中のノードのデバイスポートに取り付けられたノードは子とみなされる。たとえば、ポートマルチプライヤ408はポートマルチプライヤ410にとっては親ノードとして機能するが、ポートマルチプライヤ406にとっては子ノードとして機能する。したがって、ポートマルチプライヤ408は、そしてポートマルチプライヤ406、410−430も同様に、中間ノードとみなされ、各ノード408−430は親と子の両方として機能する。この方式を利用すると、最上位ポートマルチプライヤ404は、親ノードを持たないため、ポートマルチプライヤ406にとっての親としてのみ機能する。これに対して、最下位ポートマルチプライヤ432は、子ノードがないため、ポートマルチプライヤ430にとっての子としてのみ機能する。1つの実施形態において、ネットワーク400は、JBOD−Eプロトコルを利用するJBOD−E標準ネットワークであるが、他の形式のプロトコルも想定され、利用できる。]
[0022] データルーティングに関して、ルートマップ(RouteMap)レジスタが各ノード404−432で使用され、他の作業のほかに、ノード404−432の間のデータ通信を円滑にしている。たとえば、各ノード404−432はレジスタ群を管理して、このJBOD−E標準ネットワーク400の中のポートをアドレス指定してもよい。ポートとは、1つのノードと他のノードとの接続を円滑にする接続点を指す。図4に示されるSATAポートマルチプライヤ403−432の各々は、たとえば、2つのポートを有するが、第三者マルチプライヤは違う数のポートを持っているかもしれない。各ポートマルチプライヤ404−432の2つのポートは、ポートマルチプライヤ404の場合のように、デバイス(たとえば、デバイス434)を接続するためのデバイスポート(たとえば、デバイスポート470)と、別のポートマルチプライヤ(たとえば、ポートマルチプライヤ406)を接続するためのホストポート468であってもよい。] 図4
[0023] 1つの実施形態において、最下位ノード432は、何にも依存せずに、そのRouteMapレジスタを更新できる。最下位ノード432に対して、RouteMapレジスタを報告するように要求された場合、最下位ノード432は、RouteMapレジスタの内容をその親ノード(たとえば、上位ノード)430に供給する。すると、親ノード430のRouteMapレジスタは有効となり、したがって、その親ノード428に応答することができる。この工程を繰り返すと、最後に最上位ノード404はその子ノード406のRouteMapレジスタを読み出すことができる。最上位ノード404がその子ノード406のRouteMapレジスタを読み出すと、最上位ノード404は、Port Multiplier Port(PMP)をその子ノード406に割り当て、子ノード406はPMPをその子ノード408に分配し、これが繰り返されて、最後に最下位ノード432がその親ノード430からPMPを受け取り、すべてのノード404−432のRouteMapレジスタがセトルされる。]
[0024] このJBOD−Eネットワーク400の接続形態を把握するために、ホスト402は各ノード404−432にアクセスして、各々のRouteMapレジスタを読み出す。しかしながら、ネットワーク400内の各ノード404−432は各自の識別番号を持たないかもしれないため、ホスト402から個別のノード404−432をアドレス指定することは簡単ではないかもしれない。この障害を克服するために、トークンを用いた方式の1つの実施形態が導入され、これによれば、トークンが属するノード404−432のRouteMapレジスタが、命令(たとえば、Read Port Multiplier命令)の応答として戻される。トークンは、対応するトークン情報レジスタ(たとえば、TokenInfoレジスタ)を更新することにより、前方または後方に移動させることができる。この方式/工程のいつくかの特徴としては、(1)JBOD−Eネットワーク400全体で1つのトークンが提供される点、(2)デフォルトでは、JBOD−Eネットワーク400の各ノード404−432の前方(たとえば、FWARD)と後方(たとえばBWARD)がゼロに設定される点、(3)特定のノード、たとえばノード406のFWARDがすべてゼロである場合、そのノード406がトークンを有する点、(4)上位ノード、たとえば最上位ノードであるポートマルチプライヤ404に接続された、下位ノード(たとえばノード406)のポートマルチプライヤのRouteMapレジスタにアクセスする場合、ホスト402はFWARDのbit0を1に更新する点、がある。すると、トークンは、上位ノードであるポートマルチプライヤ404に接続された下位ノードであるポートマルチプライヤ406に属することになる。さらに、ホスト402が、RouteMapレジスタを取得するためにポートマルチプライヤを読み出す命令(たとえば、Read Port Multiplier命令)を発行した場合、上位ノードであるポートマルチプライヤ404に連結された下位ノードであるポートマルチプライヤ406から応答を受け取る。すべてのノード404−432に到達するために、この工程を繰り返すことによってRouteMapレジスタが進められ、たとえば、さまざまなノード404−432の間のRouteMapレジスタを、最下位ノード432からのレジスタの内容がホスト402に到達するまで進められる。トークンを後方に移動させるには、ホスト420は、TokenInfoレジスタのBWARDビットにRouteMapを書き込む。簡潔性と明瞭性を期すために、単純化したネットワーク400を示したが、1つのネットワークで、拡張ポートマルチプライヤとして機能するポートマルチプライヤ、デバイスおよび/または第三者ポートマルチプライヤをいくつでも使用できる。]
[0025] 図5Aは、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するネットワーク500のある実施形態を示す。図のネットワーク500は、ポートマルチプライヤ504のハブ方式またはピラミッド方式のカスケード接続による拡張を示している。図4のデイジーチェーンネットワークメカニズム400のポートマルチプライヤとデバイスが15段階であるのと異なり、図の実施形態では、ポートマルチプライヤ504−532が4段階572−578とネットワークデバイス534−560が1段階580ある。ポートマルチプライヤ532の最後のポート570は使用されないまま、あるいは割り当てられないままになっているが、これは、たとえば最大数である15台のデバイス534−562がすでに接続されているからである。前述のとおり、何台のデバイス(デバイスは15台より多くても、少なくてもよい)を割り当ててもよいことが想定されるが、本明細書では、簡潔性と明瞭性を期し、また一貫性を持たせるために、最大のデバイス数の例として15を用いる。] 図4 図5A
[0026] 1つの実施形態において、ポートマルチプライヤ504は、標準的1:2SATAポートマルチプライヤを備えており、ホスト502はこれを、カスケード接続が可能で最大15台のデバイス534−562を割り当てられる拡張1:15SATAポートマルチプライヤであると信じ込む。これは、たとえば、最初にホストポートを使ってホスト502に最上位ポートマルチプライヤ504を接続し、標準的SATA通信信号582を使って通信させることによって行われる。次に、最上位マルチプライヤ504の2つのポートを使って最上位マルチプライヤ504に2つのポートマルチプライヤ506、508を接続し、拡張SATA通信信号584を使って通信させる。同様に、残りのポートマルチプライヤ510−532とデバイス534−562を接続して、拡張SATA通信信号を使って相互に通信させる。]
[0027] 図の実施形態では、15のポートマルチプライヤ504−532と15のネットワークデバイス534−562が使われているが、いくつのポートマルチプライヤやデバイスでも使用でき、これは15より少なくても、多くてもよいことが想定される。たとえば、図5Bは、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するこのようなネットワーク590を示している。図5Bの実施形態において、ポートマルチプライヤ592はホスト591と通信する。しかしながら、図5Aのハブ方式のネットワークメカニズム500とは異なり、図5Bに描かれた実施形態では、最上位ポートマルチプライヤ592を拡張するために、ポートマルチプライヤ593、594の2つだけが追加されている。追加された2つのポートマルチプライヤ593、594はさらに拡張され、4つのネットワークデバイス595−598を利用しており、2つのポートマルチプライヤ593、594の各々が各自の2つのポートを使用している。] 図5A 図5B
[0028] このようなハブ方式のネットワークメカニズム590に各種の変更を加えてもよいことが想定され、そうした変更版も形成され、実現可能である。たとえば、別のポートマルチプライヤ593の代わりに、また別のネットワークデバイスを使用するが、最上位ポートマルチプライヤ592の第一の(ホスト)ポートはポートマルチプライヤ594によって使用された状態にあるため、これを最上位ポートマルチプライヤ592の第二の(デバイス)ポートを使って通信させてもよい。他の図と同様に、SATAホスト591と最上位ポートマルチプライヤ592の間の通信信号は、標準的SATA通信信号586を使用しており、残りのポートマルチプライヤ593、594とデバイス595−598は、拡張SATA通信信号588を使って通信する。1つの実施形態において、ネットワーク500、590は、JBOD−Eプロトコルを採用したJBOD−E標準ネットワークであるが、他の形式のプロトコルも想定され、利用可能である。]
[0029] 図6は、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するネットワーク600のある実施形態を示す。図の実施形態において、ネットワーク600は、異なる仕様が適用される、および/または異なる製造業者により作製される第三者ポートマルチプライヤ608、610を含むハブ方式のカスケード接続を利用し、さらに、これら2つのポートマルチプライヤ608、610は、拡張ポートマルチプライヤ技術とプロトコルを用いて、他の2つの標準的ポートマルチプライヤ604、606とともに使用されている。たとえば、2つの第三者マルチプライヤ608、610は、JBOD−Eプロトコルに対応していないかもしれず、またこれらは2つの標準的SATAポートを持っていないかもしれない(たとえば、ポートマルチプライヤ608は3つのポートを有する1:3であり、ポートマルチプライヤ610は4つのポートを有する1:4である等)が、それでも、拡張ポートマルチプライヤメカニズムを使って、1つの実施形態によれば、この2つの第三者ポートマルチプライヤ608、610が2つの1:2 SATAポートマルチプイライヤ604、606とともに動作するように構成される。] 図6
[0030] 1つの実施形態において、最上位ポートマルチプライヤ604はホスト602のホストポートと通信し、さらに、JBOD−E適合SATAポートマルチプライヤ606および第三者ポートマルチプライヤ610とも通信する。第三者ポートマルチプライヤ610は4つのポートを有し、4台のネットワークデバイス620−626と接続される。ポートマルチプライヤ606は、デバイスポートを通じてネットワークデバイス630に接続され、さらに、ポートマルチプライヤ606のホストポートを通じて第三者ポートマルチプライヤ608とさらに接続される。第三者ポートマルチプライヤ608は3つのポートを有し、3台のネットワークデバイス614−616と接続される。本明細書に記載した他のカスケード接続ネットワークメカニズムと同様に、この第三者ハブカスケード接続ネットワーク600では、ホスト602と最上位ポートメカニズム604の間に標準的SATA通信信号628が用いられ、ホスト602は欺かれて、最上位ポートマルチプライヤ604を、15のポートを有する拡張1:15ポートマルチプライヤと認識する。しかしながら、ポートマルチプライヤ604−610とネットワークデバイス612−626の間の通信信号は、拡張SATA通信信号630である。]
[0031] 1つの実施形態において、電源投入時および/またはホットプラグ/ホットアンプラグのイベント中に列挙およびナンバリングが発生する。しかし、いずれの場合も、SATAホスト602は、列挙工程に気づかないかもしれない。最上位ポートマルチプライヤ604は、それが1:15 SATAポートマルチプライヤであるかのように機能するため、SATAホスト602は上位ポートマルチプライヤ604を1:15 SATAポートマルチプライヤとみなす、または認識する。たとえば、JBOD−E規格は、SATAポートマルチプライヤ仕様に適合する第三者ポートマルチプライヤ608、610をサポートする。第三者ポートマルチプライヤ608、610にアクセスするための命令が発せられると、第三者ポートマルチプライヤ608、610は、それぞれの親である拡張ポートマルチプライヤ606、604に露出される。]
[0032] 電源投入中、たとえばホスト602から「ソフトウェアリセット」の命令を受け取ると、最上位ポートマルチプライヤ604はソフトウェアリセット命令を、これに接続されている第三者ノード610および次の(子)ノードであるポートマルチプライヤ606に発し、ポートマルチプライヤ606は、もう一方の第三者ポートマルチプライヤ608にとっては親ノードとして機能し、第三者ポートマルチプライヤ608に上記の命令を送る。これは、命令がATA/ATAPIベースのネットワークドライブ612−626に到達するまで続けられる。SATAノード604、606、608、610の各々は、レジスタFISデバイス612−626をホスト602に送る前に、後続のソフトウェアリセット命令の完了を待機する必要がない。ソフトウェアリセット命令の署名がポートマルチプライヤ604、606のものである場合、ノード604、606のモデル番号とベンダ識別(ID)またはGlobal Status Control Register(GSCR)(たとえば、GSCR[0])が読み出されて、ノード604、606がJBOD−E適合か否かが判断される。ノード604、606がJBOD−E適合であると、着目中のノードはそのノード604、606のルートマップ(RouteMap)レジスタを読み出す。さらに、各ノード604、606は、そのルートマップレジスタに有効な情報が入るまで、応答しなくてよい。]
[0033] 図の実施形態において、最上位ポートマルチプライヤ604は、ポートマルチプライヤ606と第三者ポートマルチプライヤ610にとっては親ノードとして機能する。最上位ポートマルチプライヤ604は、その上に他のポートマルチプライヤノードがないため、最上位ノードとして機能するが、これはまた、ネットワーク600の中では、第三者ポートマルチプライヤ610にとっての最下位ノードとしても機能する。同様に、ポートマルチプライヤ606は、最上位ポートマルチプライヤ604の子ノードとして機能する一方で、ネットワーク600の中では、第三者ポートマルチプライヤ608の親ノードとしても機能する。ポートマルチプライヤ606は、ネットワーク600の中で、第三者ポートマルチプライヤ608にとって最下位ノードとして機能する。これに対して、ポートマルチプライヤ604は、親ノードも上位ノードも持たない最上位ノードとみなされる。]
[0034] 図7は、ポートマルチプライヤ700のある実施形態を示す。図のポートマルチプライヤ700は、本明細書に記載されるようなポートマルチプライヤ拡張メカニズムを有するネットワークに使用される拡張ポートマルチプライヤとして機能できる標準的SATAポートマルチプライヤを含む。ポートマルチプライヤ700は、2つの標準デバイスポート706、708(たとえば、SATAデバイスポート)を有し、最大2つのネットワークデバイスを使用できる。ポートマルチプライヤ拡張メカニズムの1つの実施形態を利用して、デバイスポート706、708の一方は、ポートマルチプライヤ700を他のポートマルチプライヤに接続するためのホストポートとして機能するように使用され、もう一方のデバイスポートはそのまま、デバイスに接続するためのデバイスポートとして機能するように使用できる。別の実施形態では、両方のデバイスポート706、708を、2つの他のポートマルチプライヤに接続するためのホストポートとして機能するように使用することができる。ポートマルチプライヤ700をカスケード接続できるようにするこのようなポートマルチプライヤ拡張メカニズムが、本明細書で説明される。] 図7
[0035] ポートマルチプライヤ700はさらに、ホストポート704(たとえば、SATAホストポート)を含み、これは、ポートマルチプライヤ700がネットワーク内の最上位ノードであるポートマルチプライヤとして機能する場合はネットワークホスト(たとえば、SATAホスト)に接続するために使用され、ポートマルチプライヤ700がネットワーク内の中間または最下位ノードであるポートマルチプライヤとして機能する場合は親ノードであるポートマルチプライヤに接続するために使用される。デバイスポート706、708とホストポート704は、バッファ710−714を通じてポートマルチプライヤコア702に接続される。]
[0036] ポートマルチプライヤ700はさらに、状態表示用LED(発光ダイオード)ドライバ716、build−in−self−test(BIST)およびJoint Test Action Group(JTAG)メカニズム718、フェーズロックループ(PLL)724、シリアルEEPROM(ELectrically Erasable Programmable Read−Only Memory)722、SATA Enclosure Management Bridge(SEMB)720を含む。LEDは、一般的なLED回路のように、p−n接合の順方向に電気的にバイアスされると、インコヒーレントの狭スペクトルの光を放出する半導体ダイオードを指す。IC(集積回路)内のBISTメカニズム718は、そのICの内部機能の全部または一部を検証する機能である。たとえば、BISTメカニズム718は、機能の検証のために高度なfiledbusシステムの中に設置されてもよい。JTAG 718は、バウンダリスキャンを用いたプリント回路基板のテストに使用されるテストアクセスポートのためのStandard Test Access Port and Boundary Scan Architectureと題するIEEE 1149.1規格の代わりにしばしば用いられる名称である。]
[0037] PLL 724は、「基準」信号の位相との関係が固定された信号を生成する電子制御システムを指す。これは、現代的なフェーズロックループの前身である。EEPROMとは、コンピュータおよびその他のデバイスの中で使用され、少量の揮発性データ、たとえば較正表またはデバイス形態を記憶する不揮発性記憶チップを指す。シリアルEEPROM 722は一般に、OP−コードフェーズ、アドレスフェーズ、データフェーズの3つのフェーズで動作する。OP−コードは通常、EEPROMデバイスのシリアル入力ピンへの最初の8ビット入力(または、ほとんどのInter−IntegratedCircuit(I2C)デバイスの場合は暗黙)と、それに続く、デバイスの深さに応じた8から24ビットのアドレス指定、および、読み出され、または書き込まれるデータである。SEMB 720は、ホストコントローラとコンパニオンエンクロージャ管理デバイスとの間で、I2Cバスを通じてインバンドエンクロージャ管理データを受け渡す。]
[0038] 図8は、ポートマルチプライヤの拡張を実行する工程のある実施形態を示す。処理ブロック802で、ホスト(たとえば、SATAホスト)と標準的2ポート型ポートマルチプライヤ(たとえば、標準的1:2 SATAポートマルチプライヤ)が特定される。次に、処理ブロック804において、ホストはホストポートを使ってポートマルチプライヤと接続される。ホストとポートマルチプライヤの間の通信は、標準通信信号(たとえば、標準的SATA通信信号)を含む通信信号を通じて確立される。1つの実施形態において、処理ブロック806で、新規なポートマルチプライヤプロトコルを有する新規なポートマルチプライヤ拡張メカニズムが、ホストとポートマルチプライヤに導入される。処理ブロック808において、拡張メカニズムを使ってホストを欺き、標準的な2ポート型ポートマルチプライヤが2つより多いポート(たとえば、15のポート)を有すると認識させる。] 図8
[0039] 処理ブロック810では、ホストが、ホストマルチプライヤが2つより多いポートを有すると認識しはじめると、このポートマルチプライヤは最上位ポートマルチプライヤとして機能し、カスケード接続によって、多数のポートマルチプライヤおよびネットワークデバイスと接続される。これまでの図面で説明したように、カスケード接続は、1つまたは複数のポートマルチプライヤとネットワークデバイスを最大数(たとえば、15台のデバイスと15のポートマルチプライヤ)に到達するまで追加することにより、さまざまな形式(たとえば、デイジーチェーン、ハブ方式、第三者ハブ方式等)で実行できる。この技術については、これまでの図面と本明細書の別の箇所でも説明されている。]
[0040] 図9は、電源投入後のルートマップレジスタをセトルする工程のある実施形態を示す。1つの実施形態において、処理ブロック902で電源投入され、次に、処理ブロック904でノードの識別がチェックされる。3つの識別は、処理ブロック906で親だけになりうる最上位ノードと、処理ブロック916で子だけになりうる最下位ノードと、処理ブロック926で親子の両方になりうる中間ノードである。ノードが最上位ノード(たとえば、最上位ポートマルチプライヤ)として識別されると、この最上位ノードは、処理ブロック908において、その子ノード(必ずしも最下位ノードとは限らない)からのRouteMapレジスタを待つ。処理ブロック910で、PMPが割り当てられる。処理ブロック912で、更新されたRouteMapレジスタが子ノードに送られ、処理ブロック914で最上位ノードが準備完了となる。] 図9
[0041] ノードが最下位ノードであると、処理ブロック918において、チャンネル数(CHNUM)が書き込まれる。処理ブロック920で、最下位ノードの親ノード(必ずしも最上位ノードとは限らない)は、RouteMapレジスタを読み出すように要求される。処理ブロック922で、最下位ノードは、親ノードがRouteMapフィールドへの書き込みを行うのを待ち、処理ブロック924で最下位ノードが準備完了となる。]
[0042] 処理ブロック926に戻り、ノードが中間ノード(たとえば、最上位ノードでも最下位ノードでもない)として識別されると、処理ブロック928において、この中間ノードはその子ノードからのRouteMapレジスタを待つ。処理ブロック930で、CHNUMが書き込まれる。処理ブロック932で、中間ノードの親ノードはRouteMapレジスタを読み出すように要求される。処理ブロック934で、中間ノードは親ノードがRouteMapフィールドを更新するのを持ち、処理ブロック936でPMPが割り当てられる。処理ブロック938で、親ノードは更新されたRouteJapレジスタを子ノードに送信する。処理ブロック940で、中間ノードは準備完了となる。]
[0043] 図10Aは、ポートマルチプライヤ拡張メカニズムと、ルートマップレジスタをセトルするためのメカニズムとを利用するネットワーク1000のある実施形態を示す。1つの実施形態において、ルートマップ(RouteMap)レジスタは電源投入後にセトルされ、ホスト1002からのFISの供給を開始できる状態となる。ノード1004−1008(たとえば、ポートマルチプライヤ1006)のRouteMapレジスタには、ノード1006のためのルートマップ(RouteMap)に関する情報が含まれる。CHNUM_NODEは、ノード1006の下の、つまりこれと直接通信するデバイス1020の数を指し、ROUTEMAP_NODEは、ノード1006に属するPMP(たとえば、PMP5)に対応するビットを指す。デバイス1010−1018(たとえば、第一のデバイスDev0、1012)のRouteMapレジスタには、ネットワーク1000の中の第一のデバイス、Dev0、1012のデバイスポートのためのルートマップ(RouteMap)に関する情報が含まれる。この場合、CHNUM_D0は、Dev0ポートの下のデバイス(たとえば、デバイス1012)の総数を指し、ROUTEMAP_D0は、Dev0ポートに属するPMP(たとえば、PMP0)に対応する各ビットを指す。他のデバイスDev1−Dev4、1014−1020(ある場合には、最大15台のデバイスDev1−DevE)に関するレジスタには、第一のデバイスDev0と同じ情報が含まれる。] 図10A
[0044] RouteMapレジスタが更新されると、遠隔デバイスへのアクセスが次のように行われる。ホストからデバイスへのデータの伝送を実行するために、ノード1006−1010はFISヘッダからPMP番号(たとえば、PMP0−PMP5)を受け取り、RouteMapレジスタを参照し、どのデバイスポートがFISを送信するべきかを判断する。デバイスからホストへのデータの伝送を行う場合、最下位ノード1006−1008(たとえば、デバイス1012−1020に直接取り付けられるノードまたは第三者ポートマルチプライヤ1010)は、相応にPMPフィールドを更新し、最下位以外のノード(たとえば、第三者ポートマルチプライヤ1010)はFISを、一切変更せずに受け渡す。さらに、ホストからデバイスへのデータ伝送の場合、ターゲットPMPが存在しなければ、FISは、SATA仕様書に定められているように、SyncEscapeメカニズムを使って終了される。アクセスによりPSCRセクションが読み出され、ターゲットPMPが存在するのであれば、PortNumを使ってルート情報が入手される。最上位ノード1004に関して、アクセスによりPSCRセクションが読み出され、ターゲットPMPが存在しなければ、予め決定されたデフォルト値がホスト1002に戻される。再送信では解決できない衝突を回避するために、JBODEのすべてのポートがFIS全体を受信できる。ホスト1002のホストポートからのFISが目的地となるデバイス1012−1020のデバイスポートに確実に到達することができるように、バスの衝突(たとえば、SATA仕様書のXRDY−XRDY衝突)の可能性がある場合に親ノードを最優先するようにし、バスの衝突の可能性を回避し、データが自由に流れるようにする。]
[0045] 1つの実施形態において、JBOD−Eは、ネットワーク1000の中の第三者ポートマルチプライヤ1010を、これらの第三者ポートマルチプライヤ1010がSATAポートマルチプライヤ仕様書に適合しているかぎり、サポートする。たとえば、ノード1008は、第三者ポートマルチプライヤ1010にアクセスするための一連の命令を発行し、第三者ポートマルチプライヤ1010のポートをその親ノード1004に露出させ、この親ノードはこの例の場合、最上位ポートマルチプライヤ1004である。ノード1008は、第三者ポートマルチプライヤ1010へのPMPに命令(たとえば、ソフトウェアリセット命令)を発行する。ノード1008はGSCR[0]を読み出して、デバイス1012−1016のデバイス識別を取得して、第三者ポートマルチプライヤ1010がJBOD−E適合であったか否かを判断する。次に、ノード1008はGSCR[2]を読み出し、第三者ポートマルチプライヤ1010のデバイスポートの数を把握する。ノード1008はデバイスポートの数を、RouteMapレジスタを通じて、親1004に戻す。ノード1002には、RouteMap情報を第三者ポートマルチプライヤ1010の実際のPMPに変換する表が保持される。さらに、表の形式は実装方法によって異なっていてもよく、ホスト1002に露出する必要がない場合もある。]
[0046] 図10Bは、ポートマルチプライヤ1004−1008のためのルートマップレジスタ1050のある実施形態を示す。図に示されたポートマルチプライヤノード1004、1006、1008のためのルートマップ(RouteMap)レジスタ1050の実施形態には、ノード1004、1006、1008のためのルートマップに関する情報が含まれており、これには着目中のノードの下にあるデバイスの総数(たとえば、ノード1006の場合は1つのデバイス1020)を含むCHNUM_MODEのセクション1052と、着目中のノードに属するPMP(たとえば、デバイス1020に対応するノード1006のPMP5)に対応する各ビットを含むROUTEMAP_NODEのセクション1056がある。レジスタ1050にはさらに、他の関連情報を含めるための保留セクション1054も含まれる。] 図10B
[0047] 図10Cは、デバイス1012−1020のデバイスポートのためのルートマップレジスタ1060のある実施形態を示す。図に示されたデバイス1012−1020のデバイスポートのためのルートマップ(RouteMap)レジスタ1060の実施形態には、これらのデバイスポートのためのルートマップに関する情報が含まれており、これには、たとえばデバイス1012のD0等、特定のデバイスポートの下にあるデバイスの総数を含むCHNUM_D0のセクション1062と、その特定のデバイスポートに属するPMP(たとえば、第一のデバイスD0、1012に対応するデバイスポートのPMP0)に対応する各ビットを含むROUTEMAP_D0のセクション1066がある。レジスタ1060にはさらに、他の関連情報を含めるための保留セクション1064も含まれる。] 図10C
[0048] 図11A−11Fは、ルートマップレジスタをセトルするためのトランザクションシーケンスのある実施形態を示す。図11Aに示されるポートマルチプライヤ拡張ネットワーク1100には、SATAホスト1102と3つのJBOD−E適合SATAポートマルチプライヤ1104−1108、HDDドライブ1112−1120等のデバイスが含まれ、これらのうちドライブ1118−1120はSATAドライブであってもよい。他の3つのデバイス1112−1116は、第三者ポートマルチプライヤ1110と接続される。図の実施形態においては、3つのRouteMapレジスタがあり、その各々が、更新されるべきJBOD−E適合ポートマルチプライヤ1104−1108に対応する。] 図11A
[0049] 図11Bは、ポートマルチプライヤノード1104、1106、1008に関連付けられるRouteMapレジスタ1122、1124、1126を示す。RouteMapレジスタ1122、1124、1126は図のように、ゼロにクリアされるように設定される。図11Cは、最下位ノード1106、1108から始められたRouteMapレジスタ1122、1128、1130の読み出しを示している。たとえば、デバイスポート1154、1158(たとえば、ノード1106のデバイスポートB 1154とノード1108のデバイスポートB 1158)が1つのデバイス1120、1118に接続されている場合、各デバイスポートDB、1154、1158のCHNUM数1128、1130は1である。同様に、デバイスポートDA、1152がどのデバイスにも接続されていない場合、そのデバイスポートDB、1152のCHNUM 1128も1である。しかしながら、図のように、デバイスポート1156がポートマルチプライヤ1110に接続されている場合、そのデバイスポートDA、1156に関するCHNUM 1130は、ポートマルチプライヤ1110に接続されたデバイス1112、1114、1116の数であり、この場合、これは3つのデバイス1112,1114,1116を表す3である。この情報は、ポートマルチプライヤ1110のGSCR[2]を読み出すことによって得られる。ノード1110のノード数1130のためのRouteMapレジスタのCHNUM 1130は、デバイスポート1156、1158の各RouteMapレジスタのCHNUMを単に加算したものであり、この場合、これは4つの1112、1114、1116、1118を表す4である。] 図11B 図11C
[0050] 同様に、図11Dに示されるように、親、すなわち最上位ポートマルチプライヤノード1104のデバイスポートDA 1160とDB 1162に関するCHNUM 1132は、最下位、または子のポートマルチプライヤ1106、1108を介してそれぞれ接続されたデバイス1112、1114、1116と、1118、1120の総数である。この場合、デバイスポートDA 1160のCHNUM 1132は、子ポートマルチプライヤのデバイスポートDA 1152、1156については4であり、デバイスポートDB 1162については、この数は子ポートマルチプライヤのデバイスポートDB 1154、1158を表す2である。ポートマルチプライヤノード1104のノード数1132は6であり、これは、それぞれ4と2であるDAとDBの数1132の合算である。次に、最上位ポートマルチプライヤ1104は、デバイスポートDA 1152(デバイスが接続されていない1つのポートを表す)、DB 1154(1つのデバイス1120が接続されている1つのポートを表す)、DB 1158(1つのデバイス1118が接続されている1つのポートを表す)、DA 1156(第三者ポートマルチプライヤ1110を介して3つのデバイス1112、1114、1116が接続されている3つのポートを表す)の各々にPMPを割り当てる。] 図11D
[0051] 次に、図11Eを参照すると、PMP割当メカニズムのある実施形態が構成されている。1つの実施形態において、PMP割当メカニズムは、PMP割当アルゴリズムを含み、実装方式によって異なる。図の実施形態において、PMPは単純に低い番号から高い番号へと、デバイスポート1152、1154、1156、1158の各々に割り当てられる。したがって、最上位ポートマルチプライヤノード1104は、PMP0、PMP1、PMP2とPMP3をデバイスポートA 1152、1156に割り当て、PMP4、PMP5をデバイスポートB 1154、1158に割り当てる。最上位ポートマルチプライヤ1104は次に、RouteMapレジスタ1134、1136、1138のノード数(NODE)を更新し、その一方で、子ポートマルチプライヤ1106、1108は、RouteMapレジスタ1134、1136、1138のデバイスポート数(DA、DB)を更新する。次に、図11Fを参照すると、最上位ノード1104は、その子ノード1106、1108のRouteMapレジスタ(NODE)1136、1138を更新し、子ノード1106、1108は、そのデバイス1120、1112−1116、1118のRouteMapレジスタ(DA、DB)1136、1138を更新する。] 図11E 図11F
[0052] 1つの実施形態において、ネットワークデバイスは、クライアント/サーバネットワークシステム、たとえば、パーソナルエンタテイメントネットワークの中で相互接続される。これまでの図面のネットワークメカニズムは、各種のネットワークの一部である。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、MAN(Metropolitan Area Network)、イントラネット、インターネット等を含んでもよい。本明細書の他の箇所で述べているように、何台のネットワークデバイスでもカスケード接続でき、ポートマルチプライヤに接続して、あるネットワーク内のネットワークメカニズムを形成することもできる。ネットワーク1025を介して接続されるデバイスは何台でもよいと想定される。デバイスは、データストリーム、たとえば、ストリーミングメディアデータ等をネットワークシステム内の他のデバイスに、本明細書に記載したプロトコルを含む多くの標準および非標準プロトコルによって伝送してもよい。]
[0053] 上述のように、説明のために、本発明を十分に理解できるように数多くの具体的な詳細事項が示されている。しかしながら、当業者であれば、本発明はこのような具体的詳細事項のいくつかがなくても実践可能であることがわかるであろう。別の場合では、周知の構造やデバイスがブロック図の形で示される。図に示されている構成要素と構成要素の間には、介在する構造があってもよい。本願の説明文や図に示された構成要素には、図や説明にはない入力や出力があってもよい。]
[0054] 本発明の各種の実施形態は、各種のプロセスを含んでいてもよい。これらのプロセスは、ハードウェア構成要素によって遂行されるようにしても、あるいはコンピュータプログラムや機械実行可能な命令の中に具現化し、これを用いて、その命令を含めてプログラムされた汎用または特定用途プロセッサまたはロジック回路にプロセスを実行させるようにしてもよい。あるいは、プロセスは、ハードウェアとソフトウェアの組み合わせによって遂行されてもよい。]
[0055] 本明細書中に記した1つまたは複数のモジュール、構成要素または要素、たとえばポートマルチプライヤ改善メカニズムの実施形態の中に、またはこれに関連して示されるものは、ハードウェア、ソフトウェア、またはそれらの組み合わせを含んでいてもよい。あるモジュールにソフトウェアが含まれる場合、ソフトウェアデータ、命令および/またはコンフィギュレーションは、機械/電子機器/ハードウェアの製品を通じて提供されてもよい。製品とは、命令、データ等を提供するコンテンツが記憶された機械アクセス/読取可能な媒体であってもよい。コンテンツにより、電子機器、たとえば、本明細書に記載のファイラ、ディスクまたはディスクコントローラが、前述の各種の動作や実行項目を遂行することになってもよい。]
[0056] 本発明の各種の実施形態の一部をコンピュータプログラム製品として提供してもよく、これにはコンピュータプログラム命令が記録されたコンピュータ読取可能媒体も含まれ、このような製品は、コンピュータ(またはその他の電子デバイス)を、本発明の実施形態によるプロセスを実行するようにプログラムするのに用いられる。機械読取可能媒体としては、これらに限定されないが、フロッピーディスケット、光ディスク、CD−ROM(compact disk read−only memory)、光磁気ディスク、ROM(read−only memory)、RAM(random access memory)、EPROM(erasable programmable read−only memory)、EEPROM、磁気もしくは光カード、フラッシュメモリまたは、電子命令の保存に適した上記以外の種類の媒体/機械読取可能媒体がある。さらに、本発明はまた、コンピュータプログラム製品としてダウンロードされてもよく、この場合、プログラムは、リモートコンピュータからこれを要求したコンピュータへと転送される。]
[0057] さまざまな方法を、その最も基本的な形態で説明したが、本発明の基本的範囲から逸脱することなく、これらの方法にプロセスを追加し、またそこから削ったり、上の記述内容に情報を追加し、またそこから削除したりすることができる。当業者であれば、さらにまた数多くの改変や適応化が可能であることが明らかであろう。個々の実施形態は、本発明を限定するためではなく、説明のために提供したものである。本発明の実施形態の範囲は、上述の具体例ではなく、以下の特許請求の範囲によってのみ決定されるものとする。]
[0058] 要素Aが要素Bに、または要素Bと連結されている、との記述がある場合、要素Aは直接Bに結合されていても、あるいはたとえば要素Cを通じて間接的に接続されていてもよい。明細書または特許請求範囲に、構成要素、特徴、構造、プロセスまたは特性Aが構成要素、特徴、構造、プロセスまたは特性Bの「基因となる」と記載されている場合、これは、AはBの少なくとも部分的基因であるが、Bの誘引を助ける構成要素、特徴、構造、プロセスまたは特性がその他に少なくとも1つあってもよいことを意味する。明細書に、ある構成要素、特徴、構造、プロセスまたは特性が「含まれていてもよい(may)」、「含まれるかもしれない(might)」または「含まれうる(could)」と記されている場合、この特定の構成要素、特徴、構造、プロセスまたは特性が含まれている必要はない。明細書または特許請求の範囲に、「1つの(a,an)」要素への言及がある場合、言及された当該の要素が1つしかないことを意味しない。]
[0059] ある実施形態は、本発明の実現態様または例である。明細書における「ある実施形態」、「一実施形態」、「いくつかの実施形態」または「他の実施形態」という表現は、その実施形態に関連して説明された特定の特徴、構造または特性が少なくともいくつかの実施形態に含まれるが、必ずしもすべての実施形態に含まれるとは限らないことを意味する。「ある実施形態」、「一実施形態」または「いくつかの実施形態」の用語がさまざまな箇所で使用されていても、必ずしもすべてが同じ実施形態を指すというわけではない。本発明の例示的な実施形態に関する上記の説明においては、開示を簡素化し、本発明の多様な態様の1つまたは複数を理解しやすくするために、各種の特徴が1つの実施形態、図面またはこれに関する説明の中にまとめられている場合があることがわかるであろう。しかしながら、このような説明方法は、特許請求されている発明には各請求項に明記されているもの以外の特徴が必要となるという意図を反映したものと解釈すべきではない。むしろ、以下の特許請求の範囲に反映されているように、本発明の態様は、上述のある1つの実施形態に含まれる全特徴の中の一部を備える形態にある。したがって、特許請求の範囲をこの説明の中に明確に取り入れるものとし、各請求項は、それ自体が本発明の異なる実施形態として独立しているものとする。]
权利要求:

請求項1
ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤであって、前記1つのポートマルチプライヤは、前記複数のポートマルチプライヤの各々との通信を確立、維持して、前記ネットワークホストと通信する最上位ポートマルチプライヤを備え、前記複数のポートマルチプライヤは1つまたは複数の中間ポートマルチプライヤおよび最下位ポートマルチプライヤを有する1つのポートマルチプライヤと、前記複数のポートマルチプライヤと通信し、さらに前記1つのポートマルチプライヤおよび前記ネットワークホストと通信する複数のネットワークデバイスと、を備える装置。
請求項2
前記最上位ポートマルチプライヤは、前記ネットワークホストと、標準的SerialAdvancedTechnologyAttachment(SATA)信号を通じて通信できるように構成される請求項1に記載の装置。
請求項3
前記最上位ポートマルチプライヤは、前記中間および最下位ポートマルチプライヤと、拡張SATA信号を介して通信するように構成される請求項1に記載の装置。
請求項4
前記最上部、中間および最下位ポートマルチプライヤの各々は、データのルーティングを管理するためのレジスタを備え、各レジスタには前記データのルートマップが含まれる請求項1に記載の装置。
請求項5
前記ネットワークホストは、前記レジスタがセトルされると、前記ネットワークホストから前記最上位、中間および最下位ポートマルチプライヤに、FrameInformationStructure(FIS)を送信するように構成される請求項1に記載の装置。
請求項6
各ポートマルチプライヤは2つのポートを有するSATAポートマルチプライヤである請求項1に記載の装置。
請求項7
ネットワークホストを複数のネットワークデバイスに連結するように構成されたポート数拡張ネットワークを含み、前記ポート数拡張ネットワークは、前記ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤであって、前記1つのポートマルチプライヤは、前記複数のポートマルチプライヤの各々との通信を確立、維持して、前記ネットワークホストと通信する最上位ポートマルチプライヤを含み、前記複数のポートマルチプライヤは1つまたは複数の中間ポートマルチプライヤおよび最下位ポートマルチプライヤを有する1つのポートマルチプライヤと、前記複数のポートマルチプライヤと通信し、さらに前記1つのポートマルチプライヤおよび前記ネットワークホストと通信する前記複数のネットワークデバイスと、を備えるシステム。
請求項8
前記最上位ポートマルチプライヤは、前記ネットワークホストと、標準的なSerialAdvancedTechnologyAttachment(SATA)信号を通じて通信するように構成される請求項7に記載のシステム。
請求項9
前記最上位ポートマルチプライヤは、前記中間および前記最下位ポートマルチプライヤと、拡張SATA信号を通じて通信するように構成される請求項7に記載のシステム。
請求項10
前記最上位、中間および最下位ポートマルチプライヤの各々は、データのルーティングを管理するためのレジスタを備え、各レジスタには前記データのルートマップが含まれる請求項7に記載のシステム。
請求項11
前記ネットワークホストは、前記ネットワークホストから前記最上位、中間および最下位ポートマルチプライヤにFrameInformationStructure(FIS)を送信するように構成される請求項7に記載のシステム。
請求項12
各ポートマルチプライヤは2つのポートを有するSATAポートマルチプライヤを含む請求項7に記載のシステム。
請求項13
ネットワークホストを複数のポートマルチプライヤに、1つのポートマルチプライヤを介して連結するステップであって、前記1つのポートマルチプライヤは、前記複数のポートマルチプライヤの各々との通信を確立、維持して、前記ネットワークホストと通信する最上位ポートマルチプライヤを含み、前記複数のポートマルチプライヤは、1つまたは複数の中間ポートマルチプライヤと最下位ポートマルチプライヤを有するステップと、複数のネットワークデバイスと前記複数のポートマルチプライヤ、前記1つのポートマルチプライヤおよび前記ネットワークホストとの通信を確立するステップと、を含む方法。
請求項14
前記最上位ポートマルチプライヤと前記ネットワークホストとの間の、標準的SerialAdvancedTechnologyAttachment(SATA)信号を通じた通信を確立するステップをさらに含む請求項13に記載の方法。
請求項15
前記最上位ポートマルチプライヤと前記中間および最下位ポートマルチプライヤとの間の、拡張SATA信号を通じた通信を確立するステップをさらに含む請求項13に記載の方法。
类似技术:
公开号 | 公开日 | 专利标题
US20190146889A1|2019-05-16|Network Failover Handling In Computing Systems
US10542333B2|2020-01-21|Technologies for a low-latency interface to data storage
US9164946B2|2015-10-20|Data storage raid architecture system and method
JP6014271B2|2016-10-25|Data processing system and data processing method
US9990313B2|2018-06-05|Storage apparatus and interface apparatus
US9141571B2|2015-09-22|PCI express switch with logical device capability
US7596642B2|2009-09-29|System and program for determining the availability of paths to a device
TWI344087B|2011-06-21|Serial ata port addressing
TWI331281B|2010-10-01|Method and apparatus for shared i/o in a load/store fabric
US9128662B2|2015-09-08|Solid state drive memory system
US8595343B2|2013-11-26|System and method for sharing storage resources
US7194593B2|2007-03-20|Memory hub with integrated non-volatile memory
US9298648B2|2016-03-29|Method and system for I/O flow management using RAID controller with DMA capabilitiy to directly send data to PCI-E devices connected to PCI-E switch
US7200023B2|2007-04-03|Dual-edged DIMM to support memory expansion
US7457897B1|2008-11-25|PCI express-compatible controller and interface for flash memory
US8346912B2|2013-01-01|System and method of emulating a network controller within an information handling system
CN1890655B|2010-11-03|适配器接口的地址分配
US10055379B2|2018-08-21|Peripheral component interconnect express card
US7028106B2|2006-04-11|Remapping routing information entries in an expander
US7970919B1|2011-06-28|Apparatus and system for object-based storage solid-state drive and method for configuring same
US6961787B2|2005-11-01|Method and apparatus for updating task files
US7676613B2|2010-03-09|Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port
JP4150680B2|2008-09-17|データ記憶装置のインタフェースを変換するアダプタ、変換済みデータ記憶装置、および変換済みデータ記憶装置の操作方法
EP1839161B1|2014-08-13|Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US8631284B2|2014-01-14|Method for providing asynchronous event notification in systems
同族专利:
公开号 | 公开日
KR20100126500A|2010-12-01|
TW200939028A|2009-09-16|
JP5581469B2|2014-09-03|
EP2266045A2|2010-12-29|
WO2009154825A2|2009-12-23|
TWI453591B|2014-09-21|
CN101971156B|2013-09-11|
KR101580214B1|2015-12-24|
CN101971156A|2011-02-09|
WO2009154825A3|2010-05-06|
US20090234994A1|2009-09-17|
US7979589B2|2011-07-12|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-03-03| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120302 |
2012-12-28| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121228 |
2013-01-11| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130110 |
2013-04-04| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130403 |
2013-04-11| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130410 |
2013-05-11| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130510 |
2013-07-04| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130703 |
2013-10-03| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131002 |
2014-02-28| TRDD| Decision of grant or rejection written|
2014-03-06| RD03| Notification of appointment of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20140305 |
2014-03-06| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140305 |
2014-03-20| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140317 |
2014-04-03| RD04| Notification of resignation of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140314 |
2014-07-25| R150| Certificate of patent or registration of utility model|Ref document number: 5581469 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2017-07-18| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-07-17| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-07-25| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]